[INFO] fetching crate redis-ac 0.1.1...
[INFO] fixing redis-ac-0.1.1 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate redis-ac 0.1.1 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate redis-ac 0.1.1
[INFO] finished tweaking crates.io crate redis-ac 0.1.1
[INFO] tweaked toml for crates.io crate redis-ac 0.1.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate redis-ac 0.1.1 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 102 packages to latest compatible versions
[INFO] [stderr]       Adding futures v0.1.31 (available: v0.3.32)
[INFO] [stderr]       Adding redis v0.13.0 (available: v1.2.4)
[INFO] [stderr]       Adding tokio v0.1.22 (available: v1.52.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9e825791e169de12bc0e170586f7b10ed08614b0d555295f2b9860fbc3fa5124
[INFO] running `Command { std: "docker" "start" "9e825791e169de12bc0e170586f7b10ed08614b0d555295f2b9860fbc3fa5124", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9e825791e169de12bc0e170586f7b10ed08614b0d555295f2b9860fbc3fa5124" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e825791e169de12bc0e170586f7b10ed08614b0d555295f2b9860fbc3fa5124", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9e825791e169de12bc0e170586f7b10ed08614b0d555295f2b9860fbc3fa5124" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]     Checking futures v0.1.31
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking log v0.4.33
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking ascii v0.9.3
[INFO] [stderr]     Checking sha1_smol v1.0.1
[INFO] [stderr]     Checking memchr v2.8.2
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking dtoa v0.4.8
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking sha1 v0.6.1
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]    Compiling parking_lot_core v0.6.3
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]     Checking combine v3.8.1
[INFO] [stderr]     Checking crossbeam-queue v0.2.3
[INFO] [stderr]     Checking tokio-executor v0.1.10
[INFO] [stderr]     Checking tokio-io v0.1.13
[INFO] [stderr]     Checking tokio-sync v0.1.8
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]     Checking tokio-current-thread v0.1.7
[INFO] [stderr]     Checking tokio-timer v0.2.13
[INFO] [stderr]     Checking crossbeam-deque v0.7.4
[INFO] [stderr]     Checking tokio-codec v0.1.2
[INFO] [stderr]     Checking tokio-threadpool v0.1.18
[INFO] [stderr]     Checking tokio-reactor v0.1.12
[INFO] [stderr]     Checking tokio-tcp v0.1.4
[INFO] [stderr]     Checking tokio-uds v0.2.7
[INFO] [stderr]     Checking tokio-udp v0.1.6
[INFO] [stderr]     Checking tokio-fs v0.1.7
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking redis v0.13.0
[INFO] [stderr]     Checking redis-ac v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/helper.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/basic.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.13.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr] crater-edition-check: redis-ac v0.1.1 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking redis-ac v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.98s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.13.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]     Checking redis-ac v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/stream.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 197 |         cmd(if key.is_single_arg() { "GET" } else { "MGET" }).arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 202 |         cmd("KEYS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 207 |         cmd("SET").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 212 |         cmd("MSET").arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 217 |         cmd("SETEX").arg(key).arg(seconds).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 222 |         cmd("SETNX").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 227 |         cmd("MSETNX").arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 232 |         cmd("GETSET").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 237 |         cmd("GETRANGE").arg(key).arg(from).arg(to)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 242 |         cmd("SETRANGE").arg(key).arg(offset).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 247 |         cmd("DEL").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 252 |         cmd("EXISTS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 257 |         cmd("EXPIRE").arg(key).arg(seconds)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:262:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 262 |         cmd("EXPIREAT").arg(key).arg(ts)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:267:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 267 |         cmd("PEXPIRE").arg(key).arg(ms)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:272:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 272 |         cmd("PEXPIREAT").arg(key).arg(ts)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:277:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 277 |         cmd("PERSIST").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 282 |         cmd("TTL").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 287 |         cmd("RENAME").arg(key).arg(new_key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 292 |         cmd("RENAMENX").arg(key).arg(new_key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:299:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 299 |         cmd("APPEND").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                       { ($body).query_async(self) }
[INFO] [stdout]     |                                 ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 305 | /         cmd(if delta.describe_numeric_behavior() == NumericBehavior::NumberIsFloat {
[INFO] [stdout] 306 | |             "INCRBYFLOAT"
[INFO] [stdout] 307 | |         } else {
[INFO] [stdout] 308 | |             "INCRBY"
[INFO] [stdout] 309 | |         }).arg(key).arg(delta)
[INFO] [stdout]     | |__________^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 314 |         cmd("SETBIT").arg(key).arg(offset).arg(if value {1} else {0})
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 319 |         cmd("GETBIT").arg(key).arg(offset)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:324:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 324 |         cmd("BITCOUNT").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 329 |         cmd("BITCOUNT").arg(key).arg(start).arg(end)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:335:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 335 |         cmd("BITOP").arg("AND").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 341 |         cmd("BITOP").arg("OR").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 347 |         cmd("BITOP").arg("XOR").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:353:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 353 |         cmd("BITOP").arg("NOT").arg(dstkey).arg(srckey)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:358:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 358 |         cmd("STRLEN").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 365 |         cmd(if field.is_single_arg() { "HGET" } else { "HMGET" }).arg(key).arg(field)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 370 |         cmd("HDEL").arg(key).arg(field)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:375:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 375 |         cmd("HSET").arg(key).arg(field).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 380 |         cmd("HSETNX").arg(key).arg(field).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:385:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 385 |         cmd("HMSET").arg(key).arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:390:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                       { ($body).query_async(self) }
[INFO] [stdout]     |                                 ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 390 | /         cmd(if delta.describe_numeric_behavior() == NumericBehavior::NumberIsFloat {
[INFO] [stdout] 391 | |             "HINCRBYFLOAT"
[INFO] [stdout] 392 | |         } else {
[INFO] [stdout] 393 | |             "HINCRBY"
[INFO] [stdout] 394 | |         }).arg(key).arg(field).arg(delta)
[INFO] [stdout]     | |__________^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:399:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 399 |         cmd("HEXISTS").arg(key).arg(field)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:404:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 404 |         cmd("HKEYS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 409 |         cmd("HVALS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 414 |         cmd("HGETALL").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:419:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 419 |         cmd("HLEN").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 426 |         cmd("BLPOP").arg(key).arg(timeout)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:431:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 431 |         cmd("BRPOP").arg(key).arg(timeout)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:437:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 437 |         cmd("BRPOPLPUSH").arg(srckey).arg(dstkey).arg(timeout)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:442:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 442 |         cmd("LINDEX").arg(key).arg(index)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:448:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 448 |         cmd("LINSERT").arg(key).arg("BEFORE").arg(pivot).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:454:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 454 |         cmd("LINSERT").arg(key).arg("AFTER").arg(pivot).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:459:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 459 |         cmd("LLEN").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:464:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 464 |         cmd("LPOP").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 469 |         cmd("LPUSH").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:475:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 475 |         cmd("LPUSHX").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:480:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 480 |         cmd("LRANGE").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:486:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 486 |         cmd("LREM").arg(key).arg(count).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:492:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 492 |         cmd("LTRIM").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 497 |         cmd("LSET").arg(key).arg(index).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:502:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 502 |         cmd("RPOP").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:507:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 507 |         cmd("RPOPLPUSH").arg(key).arg(dstkey)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:512:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 512 |         cmd("RPUSH").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:518:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 518 |         cmd("RPUSHX").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:525:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 525 |         cmd("SADD").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:530:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 530 |         cmd("SCARD").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:535:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 535 |         cmd("SDIFF").arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:540:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 540 |         cmd("SDIFFSTORE").arg(dstkey).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:545:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 545 |         cmd("SINTER").arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:550:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 550 |         cmd("SINTERSTORE").arg(dstkey).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:555:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 555 |         cmd("SISMEMBER").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:560:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 560 |         cmd("SMEMBERS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:565:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 565 |         cmd("SMOVE").arg(srckey).arg(dstkey).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:570:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 570 |         cmd("SPOP").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:575:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 575 |         cmd("SRANDMEMBER").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:580:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 580 |         cmd("SRANDMEMBER").arg(key).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:585:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 585 |         cmd("SREM").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:590:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 590 |         cmd("SUNION").arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:595:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 595 |         cmd("SUNIONSTORE").arg(dstkey).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:602:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 602 |         cmd("ZADD").arg(key).arg(score).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:607:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 607 |         cmd("ZADD").arg(key).arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:612:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 612 |         cmd("ZCARD").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:617:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 617 |         cmd("ZCOUNT").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:623:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 623 |         cmd("ZINCRBY").arg(key).arg(delta).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:629:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 629 |         cmd("ZINTERSTORE").arg(dstkey).arg(keys.len()).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:635:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 635 |         cmd("ZINTERSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MIN")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:641:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 641 |         cmd("ZINTERSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MAX")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:646:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 646 |         cmd("ZLEXCOUNT").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:651:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 651 |         cmd("ZRANGE").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:656:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 656 |         cmd("ZRANGE").arg(key).arg(start).arg(stop).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:661:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 661 |         cmd("ZRANGEBYLEX").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:668:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 668 |         cmd("ZRANGEBYLEX").arg(key).arg(min).arg(max).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:673:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 673 |         cmd("ZREVRANGEBYLEX").arg(key).arg(max).arg(min)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:680:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 680 |         cmd("ZREVRANGEBYLEX").arg(key).arg(max).arg(min).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:685:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 685 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:690:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 690 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:696:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 696 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:702:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 702 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:708:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 708 |         cmd("ZRANK").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:713:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 713 |         cmd("ZREM").arg(key).arg(members)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:718:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 718 |         cmd("ZREMBYLEX").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:723:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 723 |         cmd("ZREMBYRANK").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:728:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 728 |         cmd("ZREMRANGEBYSCORE").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:734:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 734 |         cmd("ZREVRANGE").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:740:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 740 |         cmd("ZREVRANGE").arg(key).arg(start).arg(stop).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:745:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 745 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:750:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 750 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:756:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 756 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:762:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 762 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:768:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 768 |         cmd("ZREVRANK").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:773:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 773 |         cmd("ZSCORE").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:779:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 779 |         cmd("ZUNIONSTORE").arg(dstkey).arg(keys.len()).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:785:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 785 |         cmd("ZUNIONSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MIN")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:791:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 791 |         cmd("ZUNIONSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MAX")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:798:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 798 |         cmd("PFADD").arg(key).arg(element)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:804:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 804 |         cmd("PFCOUNT").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:809:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 809 |         cmd("PFMERGE").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:814:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 814 |         cmd("PUBLISH").arg(channel).arg(message)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/stream.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let ready = self.poll_query();
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `ready` calls a custom destructor
[INFO] [stdout]     |             `ready` will be dropped later as of Edition 2024
[INFO] [stdout] 104 |
[INFO] [stdout] 105 |         match self.queue.pop_front() { Some(item) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 117 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/helper.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 197 |         cmd(if key.is_single_arg() { "GET" } else { "MGET" }).arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 202 |         cmd("KEYS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 207 |         cmd("SET").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 212 |         cmd("MSET").arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 217 |         cmd("SETEX").arg(key).arg(seconds).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 222 |         cmd("SETNX").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 227 |         cmd("MSETNX").arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 232 |         cmd("GETSET").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 237 |         cmd("GETRANGE").arg(key).arg(from).arg(to)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 242 |         cmd("SETRANGE").arg(key).arg(offset).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 247 |         cmd("DEL").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 252 |         cmd("EXISTS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 257 |         cmd("EXPIRE").arg(key).arg(seconds)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:262:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 262 |         cmd("EXPIREAT").arg(key).arg(ts)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:267:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 267 |         cmd("PEXPIRE").arg(key).arg(ms)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:272:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 272 |         cmd("PEXPIREAT").arg(key).arg(ts)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:277:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 277 |         cmd("PERSIST").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 282 |         cmd("TTL").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 287 |         cmd("RENAME").arg(key).arg(new_key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 292 |         cmd("RENAMENX").arg(key).arg(new_key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:299:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 299 |         cmd("APPEND").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                       { ($body).query_async(self) }
[INFO] [stdout]     |                                 ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 305 | /         cmd(if delta.describe_numeric_behavior() == NumericBehavior::NumberIsFloat {
[INFO] [stdout] 306 | |             "INCRBYFLOAT"
[INFO] [stdout] 307 | |         } else {
[INFO] [stdout] 308 | |             "INCRBY"
[INFO] [stdout] 309 | |         }).arg(key).arg(delta)
[INFO] [stdout]     | |__________^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 314 |         cmd("SETBIT").arg(key).arg(offset).arg(if value {1} else {0})
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 319 |         cmd("GETBIT").arg(key).arg(offset)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:324:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 324 |         cmd("BITCOUNT").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 329 |         cmd("BITCOUNT").arg(key).arg(start).arg(end)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:335:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 335 |         cmd("BITOP").arg("AND").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 341 |         cmd("BITOP").arg("OR").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 347 |         cmd("BITOP").arg("XOR").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:353:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 353 |         cmd("BITOP").arg("NOT").arg(dstkey).arg(srckey)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:358:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 358 |         cmd("STRLEN").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 365 |         cmd(if field.is_single_arg() { "HGET" } else { "HMGET" }).arg(key).arg(field)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 370 |         cmd("HDEL").arg(key).arg(field)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:375:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 375 |         cmd("HSET").arg(key).arg(field).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 380 |         cmd("HSETNX").arg(key).arg(field).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:385:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 385 |         cmd("HMSET").arg(key).arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:390:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                       { ($body).query_async(self) }
[INFO] [stdout]     |                                 ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 390 | /         cmd(if delta.describe_numeric_behavior() == NumericBehavior::NumberIsFloat {
[INFO] [stdout] 391 | |             "HINCRBYFLOAT"
[INFO] [stdout] 392 | |         } else {
[INFO] [stdout] 393 | |             "HINCRBY"
[INFO] [stdout] 394 | |         }).arg(key).arg(field).arg(delta)
[INFO] [stdout]     | |__________^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:399:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 399 |         cmd("HEXISTS").arg(key).arg(field)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:404:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 404 |         cmd("HKEYS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 409 |         cmd("HVALS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 414 |         cmd("HGETALL").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:419:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 419 |         cmd("HLEN").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 426 |         cmd("BLPOP").arg(key).arg(timeout)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:431:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 431 |         cmd("BRPOP").arg(key).arg(timeout)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:437:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 437 |         cmd("BRPOPLPUSH").arg(srckey).arg(dstkey).arg(timeout)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:442:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 442 |         cmd("LINDEX").arg(key).arg(index)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:448:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 448 |         cmd("LINSERT").arg(key).arg("BEFORE").arg(pivot).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:454:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 454 |         cmd("LINSERT").arg(key).arg("AFTER").arg(pivot).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:459:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 459 |         cmd("LLEN").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:464:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 464 |         cmd("LPOP").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 469 |         cmd("LPUSH").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:475:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 475 |         cmd("LPUSHX").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:480:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 480 |         cmd("LRANGE").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:486:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 486 |         cmd("LREM").arg(key).arg(count).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:492:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 492 |         cmd("LTRIM").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 497 |         cmd("LSET").arg(key).arg(index).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:502:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 502 |         cmd("RPOP").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:507:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 507 |         cmd("RPOPLPUSH").arg(key).arg(dstkey)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:512:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 512 |         cmd("RPUSH").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:518:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 518 |         cmd("RPUSHX").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:525:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 525 |         cmd("SADD").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:530:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 530 |         cmd("SCARD").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:535:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 535 |         cmd("SDIFF").arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:540:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 540 |         cmd("SDIFFSTORE").arg(dstkey).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:545:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 545 |         cmd("SINTER").arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:550:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 550 |         cmd("SINTERSTORE").arg(dstkey).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:555:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 555 |         cmd("SISMEMBER").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:560:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 560 |         cmd("SMEMBERS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:565:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 565 |         cmd("SMOVE").arg(srckey).arg(dstkey).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:570:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 570 |         cmd("SPOP").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:575:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 575 |         cmd("SRANDMEMBER").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:580:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 580 |         cmd("SRANDMEMBER").arg(key).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:585:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 585 |         cmd("SREM").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:590:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 590 |         cmd("SUNION").arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:595:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 595 |         cmd("SUNIONSTORE").arg(dstkey).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:602:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 602 |         cmd("ZADD").arg(key).arg(score).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:607:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 607 |         cmd("ZADD").arg(key).arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:612:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 612 |         cmd("ZCARD").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:617:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 617 |         cmd("ZCOUNT").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:623:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 623 |         cmd("ZINCRBY").arg(key).arg(delta).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:629:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 629 |         cmd("ZINTERSTORE").arg(dstkey).arg(keys.len()).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:635:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 635 |         cmd("ZINTERSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MIN")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:641:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 641 |         cmd("ZINTERSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MAX")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:646:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 646 |         cmd("ZLEXCOUNT").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:651:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 651 |         cmd("ZRANGE").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:656:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 656 |         cmd("ZRANGE").arg(key).arg(start).arg(stop).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:661:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 661 |         cmd("ZRANGEBYLEX").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:668:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 668 |         cmd("ZRANGEBYLEX").arg(key).arg(min).arg(max).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:673:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 673 |         cmd("ZREVRANGEBYLEX").arg(key).arg(max).arg(min)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:680:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 680 |         cmd("ZREVRANGEBYLEX").arg(key).arg(max).arg(min).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:685:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 685 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:690:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 690 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:696:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 696 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:702:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 702 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:708:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 708 |         cmd("ZRANK").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:713:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 713 |         cmd("ZREM").arg(key).arg(members)
[INFO] [stdout]     |         ^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:718:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 718 |         cmd("ZREMBYLEX").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:723:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 723 |         cmd("ZREMBYRANK").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:728:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 728 |         cmd("ZREMRANGEBYSCORE").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:734:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 734 |         cmd("ZREVRANGE").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:740:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 740 |         cmd("ZREVRANGE").arg(key).arg(start).arg(stop).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:745:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 745 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:750:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 750 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:756:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 756 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:762:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 762 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:768:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 768 |         cmd("ZREVRANK").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:773:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 773 |         cmd("ZSCORE").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:779:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 779 |         cmd("ZUNIONSTORE").arg(dstkey).arg(keys.len()).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:785:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 785 |         cmd("ZUNIONSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MIN")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:791:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 791 |         cmd("ZUNIONSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MAX")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:798:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 798 |         cmd("PFADD").arg(key).arg(element)
[INFO] [stdout]     |         ^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:804:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 804 |         cmd("PFCOUNT").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:809:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 809 |         cmd("PFMERGE").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/commands.rs:814:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 814 |         cmd("PUBLISH").arg(channel).arg(message)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/stream.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let ready = self.poll_query();
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `ready` calls a custom destructor
[INFO] [stdout]     |             `ready` will be dropped later as of Edition 2024
[INFO] [stdout] 104 |
[INFO] [stdout] 105 |         match self.queue.pop_front() { Some(item) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 117 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed tests/helper.rs (1 fix)
[INFO] [stderr]    Migrating tests/basic.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.25s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.13.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr] crater-edition-check: redis-ac v0.1.1 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking redis-ac v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 197 |         cmd(if key.is_single_arg() { "GET" } else { "MGET" }).arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 197 |         cmd(if key.is_single_arg() { "GET" } else { "MGET" }).arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 202 |         cmd("KEYS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 202 |         cmd("KEYS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 207 |         cmd("SET").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 212 |         cmd("MSET").arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 207 |         cmd("SET").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 217 |         cmd("SETEX").arg(key).arg(seconds).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^                                - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 212 |         cmd("MSET").arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 217 |         cmd("SETEX").arg(key).arg(seconds).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^                                - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 222 |         cmd("SETNX").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 222 |         cmd("SETNX").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 227 |         cmd("MSETNX").arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^^^          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 227 |         cmd("MSETNX").arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^^^          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 232 |         cmd("GETSET").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 232 |         cmd("GETSET").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 237 |         cmd("GETRANGE").arg(key).arg(from).arg(to)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 237 |         cmd("GETRANGE").arg(key).arg(from).arg(to)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 242 |         cmd("SETRANGE").arg(key).arg(offset).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^                               - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 242 |         cmd("SETRANGE").arg(key).arg(offset).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^                               - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 247 |         cmd("DEL").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 247 |         cmd("DEL").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 252 |         cmd("EXISTS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 252 |         cmd("EXISTS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 257 |         cmd("EXPIRE").arg(key).arg(seconds)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 257 |         cmd("EXPIRE").arg(key).arg(seconds)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:262:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 262 |         cmd("EXPIREAT").arg(key).arg(ts)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^                - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:262:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 262 |         cmd("EXPIREAT").arg(key).arg(ts)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^                - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:267:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 267 |         cmd("PEXPIRE").arg(key).arg(ms)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^                - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:267:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 267 |         cmd("PEXPIRE").arg(key).arg(ms)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^                - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:272:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 272 |         cmd("PEXPIREAT").arg(key).arg(ts)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^                - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:272:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 272 |         cmd("PEXPIREAT").arg(key).arg(ts)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^                - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:277:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 277 |         cmd("PERSIST").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:277:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 277 |         cmd("PERSIST").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 282 |         cmd("TTL").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 282 |         cmd("TTL").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 287 |         cmd("RENAME").arg(key).arg(new_key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 287 |         cmd("RENAME").arg(key).arg(new_key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 292 |         cmd("RENAMENX").arg(key).arg(new_key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 292 |         cmd("RENAMENX").arg(key).arg(new_key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:299:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 299 |         cmd("APPEND").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:299:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 299 |         cmd("APPEND").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                       { ($body).query_async(self) }
[INFO] [stdout]     |                                 ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 305 | /         cmd(if delta.describe_numeric_behavior() == NumericBehavior::NumberIsFloat {
[INFO] [stdout] 306 | |             "INCRBYFLOAT"
[INFO] [stdout] 307 | |         } else {
[INFO] [stdout] 308 | |             "INCRBY"
[INFO] [stdout] 309 | |         }).arg(key).arg(delta)
[INFO] [stdout]     | |          ^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                       { ($body).query_async(self) }
[INFO] [stdout]     |                                 ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 305 | /         cmd(if delta.describe_numeric_behavior() == NumericBehavior::NumberIsFloat {
[INFO] [stdout] 306 | |             "INCRBYFLOAT"
[INFO] [stdout] 307 | |         } else {
[INFO] [stdout] 308 | |             "INCRBY"
[INFO] [stdout] 309 | |         }).arg(key).arg(delta)
[INFO] [stdout]     | |          ^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 314 |         cmd("SETBIT").arg(key).arg(offset).arg(if value {1} else {0})
[INFO] [stdout]     |         ^^^^^^^^^^^^^                                               - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 314 |         cmd("SETBIT").arg(key).arg(offset).arg(if value {1} else {0})
[INFO] [stdout]     |         ^^^^^^^^^^^^^                                               - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 319 |         cmd("GETBIT").arg(key).arg(offset)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 319 |         cmd("GETBIT").arg(key).arg(offset)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:324:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 324 |         cmd("BITCOUNT").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:324:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 324 |         cmd("BITCOUNT").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 329 |         cmd("BITCOUNT").arg(key).arg(start).arg(end)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^                            - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:335:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 335 |         cmd("BITOP").arg("AND").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^                                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 329 |         cmd("BITCOUNT").arg(key).arg(start).arg(end)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^                            - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:335:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 335 |         cmd("BITOP").arg("AND").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^                                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 341 |         cmd("BITOP").arg("OR").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^                                  - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 341 |         cmd("BITOP").arg("OR").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^                                  - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 347 |         cmd("BITOP").arg("XOR").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^                                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:353:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 353 |         cmd("BITOP").arg("NOT").arg(dstkey).arg(srckey)
[INFO] [stdout]     |         ^^^^^^^^^^^^                                  - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 347 |         cmd("BITOP").arg("XOR").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^                                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:358:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 358 |         cmd("STRLEN").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:353:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 353 |         cmd("BITOP").arg("NOT").arg(dstkey).arg(srckey)
[INFO] [stdout]     |         ^^^^^^^^^^^^                                  - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 365 |         cmd(if field.is_single_arg() { "HGET" } else { "HMGET" }).arg(key).arg(field)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:358:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 358 |         cmd("STRLEN").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 370 |         cmd("HDEL").arg(key).arg(field)
[INFO] [stdout]     |         ^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:375:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 375 |         cmd("HSET").arg(key).arg(field).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^                              - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 365 |         cmd(if field.is_single_arg() { "HGET" } else { "HMGET" }).arg(key).arg(field)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 380 |         cmd("HSETNX").arg(key).arg(field).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                              - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:385:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 385 |         cmd("HMSET").arg(key).arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 370 |         cmd("HDEL").arg(key).arg(field)
[INFO] [stdout]     |         ^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:390:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                       { ($body).query_async(self) }
[INFO] [stdout]     |                                 ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 390 | /         cmd(if delta.describe_numeric_behavior() == NumericBehavior::NumberIsFloat {
[INFO] [stdout] 391 | |             "HINCRBYFLOAT"
[INFO] [stdout] 392 | |         } else {
[INFO] [stdout] 393 | |             "HINCRBY"
[INFO] [stdout] 394 | |         }).arg(key).arg(field).arg(delta)
[INFO] [stdout]     | |          ^                              - temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:375:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 375 |         cmd("HSET").arg(key).arg(field).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^                              - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:399:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 399 |         cmd("HEXISTS").arg(key).arg(field)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:404:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 404 |         cmd("HKEYS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 380 |         cmd("HSETNX").arg(key).arg(field).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                              - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 409 |         cmd("HVALS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 414 |         cmd("HGETALL").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:385:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 385 |         cmd("HMSET").arg(key).arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:419:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 419 |         cmd("HLEN").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:390:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                       { ($body).query_async(self) }
[INFO] [stdout]     |                                 ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 390 | /         cmd(if delta.describe_numeric_behavior() == NumericBehavior::NumberIsFloat {
[INFO] [stdout] 391 | |             "HINCRBYFLOAT"
[INFO] [stdout] 392 | |         } else {
[INFO] [stdout] 393 | |             "HINCRBY"
[INFO] [stdout] 394 | |         }).arg(key).arg(field).arg(delta)
[INFO] [stdout]     | |          ^                              - temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 426 |         cmd("BLPOP").arg(key).arg(timeout)
[INFO] [stdout]     |         ^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:399:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 399 |         cmd("HEXISTS").arg(key).arg(field)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:431:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 431 |         cmd("BRPOP").arg(key).arg(timeout)
[INFO] [stdout]     |         ^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:437:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 437 |         cmd("BRPOPLPUSH").arg(srckey).arg(dstkey).arg(timeout)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^                                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:404:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 404 |         cmd("HKEYS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 409 |         cmd("HVALS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:442:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 442 |         cmd("LINDEX").arg(key).arg(index)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 414 |         cmd("HGETALL").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:448:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 448 |         cmd("LINSERT").arg(key).arg("BEFORE").arg(pivot).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^                                            - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:419:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 419 |         cmd("HLEN").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:454:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 454 |         cmd("LINSERT").arg(key).arg("AFTER").arg(pivot).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^                                           - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:459:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 459 |         cmd("LLEN").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 426 |         cmd("BLPOP").arg(key).arg(timeout)
[INFO] [stdout]     |         ^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:464:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 464 |         cmd("LPOP").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:431:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 431 |         cmd("BRPOP").arg(key).arg(timeout)
[INFO] [stdout]     |         ^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 469 |         cmd("LPUSH").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:437:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 437 |         cmd("BRPOPLPUSH").arg(srckey).arg(dstkey).arg(timeout)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^                                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:442:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 442 |         cmd("LINDEX").arg(key).arg(index)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:475:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 475 |         cmd("LPUSHX").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:480:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 480 |         cmd("LRANGE").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                             - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:448:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 448 |         cmd("LINSERT").arg(key).arg("BEFORE").arg(pivot).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^                                            - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:486:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 486 |         cmd("LREM").arg(key).arg(count).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^                              - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:454:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 454 |         cmd("LINSERT").arg(key).arg("AFTER").arg(pivot).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^                                           - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:492:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 492 |         cmd("LTRIM").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^                             - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:459:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 459 |         cmd("LLEN").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 497 |         cmd("LSET").arg(key).arg(index).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^                              - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:502:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 502 |         cmd("RPOP").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:464:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 464 |         cmd("LPOP").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:507:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 507 |         cmd("RPOPLPUSH").arg(key).arg(dstkey)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:512:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 512 |         cmd("RPUSH").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 469 |         cmd("LPUSH").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:518:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 518 |         cmd("RPUSHX").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:475:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 475 |         cmd("LPUSHX").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:525:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 525 |         cmd("SADD").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:530:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 530 |         cmd("SCARD").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:480:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 480 |         cmd("LRANGE").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                             - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:535:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 535 |         cmd("SDIFF").arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^         - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:486:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 486 |         cmd("LREM").arg(key).arg(count).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^                              - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:540:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 540 |         cmd("SDIFFSTORE").arg(dstkey).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:492:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 492 |         cmd("LTRIM").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^                             - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:545:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 545 |         cmd("SINTER").arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^         - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:550:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 550 |         cmd("SINTERSTORE").arg(dstkey).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:555:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 555 |         cmd("SISMEMBER").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 497 |         cmd("LSET").arg(key).arg(index).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^                              - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:560:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 560 |         cmd("SMEMBERS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:502:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 502 |         cmd("RPOP").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:565:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 565 |         cmd("SMOVE").arg(srckey).arg(dstkey).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^                                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:570:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 570 |         cmd("SPOP").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:507:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 507 |         cmd("RPOPLPUSH").arg(key).arg(dstkey)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:575:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 575 |         cmd("SRANDMEMBER").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:580:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 580 |         cmd("SRANDMEMBER").arg(key).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:512:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 512 |         cmd("RPUSH").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:518:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 518 |         cmd("RPUSHX").arg(key).arg(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:585:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 585 |         cmd("SREM").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:590:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 590 |         cmd("SUNION").arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^         - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:525:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 525 |         cmd("SADD").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:595:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 595 |         cmd("SUNIONSTORE").arg(dstkey).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:530:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 530 |         cmd("SCARD").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:602:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 602 |         cmd("ZADD").arg(key).arg(score).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^                               - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:535:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 535 |         cmd("SDIFF").arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^         - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:540:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 540 |         cmd("SDIFFSTORE").arg(dstkey).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:607:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 607 |         cmd("ZADD").arg(key).arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:612:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 612 |         cmd("ZCARD").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:545:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 545 |         cmd("SINTER").arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^         - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:617:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 617 |         cmd("ZCOUNT").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:550:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 550 |         cmd("SINTERSTORE").arg(dstkey).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:623:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 623 |         cmd("ZINCRBY").arg(key).arg(delta).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^                               - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:555:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 555 |         cmd("SISMEMBER").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:629:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 629 |         cmd("ZINTERSTORE").arg(dstkey).arg(keys.len()).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^                                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:560:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 560 |         cmd("SMEMBERS").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:635:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 635 |         cmd("ZINTERSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MIN")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use     - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:565:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 565 |         cmd("SMOVE").arg(srckey).arg(dstkey).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^                                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:641:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 641 |         cmd("ZINTERSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MAX")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use     - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:646:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 646 |         cmd("ZLEXCOUNT").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:570:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 570 |         cmd("SPOP").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:651:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 651 |         cmd("ZRANGE").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                             - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:575:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 575 |         cmd("SRANDMEMBER").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:580:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 580 |         cmd("SRANDMEMBER").arg(key).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:656:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 656 |         cmd("ZRANGE").arg(key).arg(start).arg(stop).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^                                               - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:585:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 585 |         cmd("SREM").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:661:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 661 |         cmd("ZRANGEBYLEX").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:590:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 590 |         cmd("SUNION").arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^         - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:668:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 668 |         cmd("ZRANGEBYLEX").arg(key).arg(min).arg(max).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use  - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:673:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 673 |         cmd("ZREVRANGEBYLEX").arg(key).arg(max).arg(min)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:595:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 595 |         cmd("SUNIONSTORE").arg(dstkey).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:680:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 680 |         cmd("ZREVRANGEBYLEX").arg(key).arg(max).arg(min).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use  - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:602:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 602 |         cmd("ZADD").arg(key).arg(score).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^                               - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:685:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 685 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:607:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 607 |         cmd("ZADD").arg(key).arg(items)
[INFO] [stdout]     |         ^^^^^^^^^^^                   - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:612:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 612 |         cmd("ZCARD").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:690:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 690 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^                                            - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:617:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 617 |         cmd("ZCOUNT").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:696:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 696 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use  - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:623:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 623 |         cmd("ZINCRBY").arg(key).arg(delta).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^                               - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:702:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 702 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 703 |             .arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |                                                - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:629:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 629 |         cmd("ZINTERSTORE").arg(dstkey).arg(keys.len()).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^                                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:708:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 708 |         cmd("ZRANK").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:713:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 713 |         cmd("ZREM").arg(key).arg(members)
[INFO] [stdout]     |         ^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:635:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 635 |         cmd("ZINTERSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MIN")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use     - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:718:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 718 |         cmd("ZREMBYLEX").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:641:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 641 |         cmd("ZINTERSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MAX")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use     - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:723:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 723 |         cmd("ZREMBYRANK").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^                             - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:646:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 646 |         cmd("ZLEXCOUNT").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:728:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 728 |         cmd("ZREMRANGEBYSCORE").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:734:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 734 |         cmd("ZREVRANGE").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^                             - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:651:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 651 |         cmd("ZRANGE").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                             - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:740:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 740 |         cmd("ZREVRANGE").arg(key).arg(start).arg(stop).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^                                               - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:656:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 656 |         cmd("ZRANGE").arg(key).arg(start).arg(stop).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^                                               - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:745:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 745 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:661:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 661 |         cmd("ZRANGEBYLEX").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:750:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 750 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^                                            - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:668:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 668 |         cmd("ZRANGEBYLEX").arg(key).arg(min).arg(max).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use  - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:756:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 756 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use  - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:673:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 673 |         cmd("ZREVRANGEBYLEX").arg(key).arg(max).arg(min)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:762:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 762 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 763 |             .arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |                                                - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:680:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 680 |         cmd("ZREVRANGEBYLEX").arg(key).arg(max).arg(min).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use  - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:768:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 768 |         cmd("ZREVRANK").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:685:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 685 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:773:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 773 |         cmd("ZSCORE").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:690:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 690 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^                                            - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:696:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 696 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use  - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:779:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 779 |         cmd("ZUNIONSTORE").arg(dstkey).arg(keys.len()).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^                                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:702:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 702 |         cmd("ZRANGEBYSCORE").arg(key).arg(min).arg(max).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 703 |             .arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |                                                - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:785:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 785 |         cmd("ZUNIONSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MIN")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use     - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:708:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 708 |         cmd("ZRANK").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:791:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 791 |         cmd("ZUNIONSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MAX")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use     - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:713:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 713 |         cmd("ZREM").arg(key).arg(members)
[INFO] [stdout]     |         ^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:798:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 798 |         cmd("PFADD").arg(key).arg(element)
[INFO] [stdout]     |         ^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:718:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 718 |         cmd("ZREMBYLEX").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:804:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 804 |         cmd("PFCOUNT").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:723:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 723 |         cmd("ZREMBYRANK").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^                             - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:809:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 809 |         cmd("PFMERGE").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^                        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:728:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 728 |         cmd("ZREMRANGEBYSCORE").arg(key).arg(min).arg(max)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:814:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 814 |         cmd("PUBLISH").arg(channel).arg(message)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^                         - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:734:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 734 |         cmd("ZREVRANGE").arg(key).arg(start).arg(stop)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^                             - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:740:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 740 |         cmd("ZREVRANGE").arg(key).arg(start).arg(stop).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^                                               - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:745:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 745 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^                          - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:750:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 750 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^                                            - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:756:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 756 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min).arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use  - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:762:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 762 |         cmd("ZREVRANGEBYSCORE").arg(key).arg(max).arg(min).arg("WITHSCORES")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 763 |             .arg("LIMIT").arg(offset).arg(count)
[INFO] [stdout]     |                                                - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:768:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 768 |         cmd("ZREVRANK").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:773:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 773 |         cmd("ZSCORE").arg(key).arg(member)
[INFO] [stdout]     |         ^^^^^^^^^^^^^                    - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:779:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 779 |         cmd("ZUNIONSTORE").arg(dstkey).arg(keys.len()).arg(keys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^                                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:785:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 785 |         cmd("ZUNIONSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MIN")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use     - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:791:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 791 |         cmd("ZUNIONSTORE").arg(dstkey).arg(keys.len()).arg(keys).arg("AGGREGATE").arg("MAX")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use     - temporary value is freed at the end of this statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `redis-ac` (lib) due to 114 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:798:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 798 |         cmd("PFADD").arg(key).arg(element)
[INFO] [stdout]     |         ^^^^^^^^^^^^                     - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:804:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 804 |         cmd("PFCOUNT").arg(key)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:809:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 809 |         cmd("PFMERGE").arg(dstkey).arg(srckeys)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^                        - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/commands.rs:814:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |                     { ($body).query_async(self) }
[INFO] [stdout]     |                               ----------- borrow later used by call
[INFO] [stdout] ...
[INFO] [stdout] 814 |         cmd("PUBLISH").arg(channel).arg(message)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^                         - temporary value is freed at the end of this statement
[INFO] [stdout]     |         |
[INFO] [stdout]     |         creates a temporary value which is freed while still in use
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `redis-ac` (lib test) due to 114 previous errors
[INFO] running `Command { std: "docker" "inspect" "9e825791e169de12bc0e170586f7b10ed08614b0d555295f2b9860fbc3fa5124", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e825791e169de12bc0e170586f7b10ed08614b0d555295f2b9860fbc3fa5124", kill_on_drop: false }`
[INFO] [stdout] 9e825791e169de12bc0e170586f7b10ed08614b0d555295f2b9860fbc3fa5124
